package co.gov.medellin.sdep.sisdep.model.dao;

import java.util.List;

import co.gov.medellin.sdep.sisdep.model.SolicitudPermiso;
import co.gov.medellin.sdep.sisdep.model.SolicitudRevalidacion;

public interface ISolicitudRevalidacionDAO {

	/**
	 *
	 * @param solicitudrevalidacion
	 */
	void insert(SolicitudRevalidacion solicitudrevalidacion);

	/**
	 *
	 * @param solicitudrevalidacion
	 */
	void update(SolicitudRevalidacion solicitudrevalidacion);

	/**
	 *
	 * @param solicitudrevalidacion
	 */
	void delete(SolicitudRevalidacion solicitudrevalidacion);

	/**
	 *
	 * @param id
	 */
	void deleteByPrimaryKey(long id);

	/**
	 *
	 * @return
	 */
	List load();

	/**
	 *
	 * @param id
	 * @return
	 */
	SolicitudRevalidacion findByPrimaryKey(long id);

	/**
	 *
	 * @param  solicitudrevalidacion
	 * @return
	 */
	SolicitudRevalidacion findByCriteria(SolicitudRevalidacion solicitudrevalidacion);

	/**
	 *
	 * @param solicitudrevalidacion
	 * @return
	 */
	SolicitudRevalidacion findByActiveState(SolicitudRevalidacion solicitudrevalidacion);
	
	/**v
	 * 
	 * @param idPersona
	 * @return
	 */
	Double getAgeOfTrader(long idPersona);
	
	/**
	 * 
	 * @param solicitudrevalidacion
	 * @return
	 */
	SolicitudPermiso findLastGrant(SolicitudRevalidacion solicitudrevalidacion);

}
